package com.emm.yixun.website.service.pmo;
import java.util.HashMap;
import java.util.List;

import com.emm.yixun.common.model.SaleReturnPmo;
import com.emm.yixun.common.model.pmo.GraphicalVo;
import com.emm.yixun.common.model.pmo.SalesBackOfYear;

/**
 * ClassName: LevelProjectDataService <br/>
 * Function: 推送动态数据. <br/>
 * date: 2017年11月20日 下午2:49:02 <br/>
 * @author Administrator
 * @version 
 * @since JDK 1.6
 */
public interface LevelProjectDataService {
	/**
	 * 
	 * sendLevelProjectData:(推送PMO动态数据). <br/>
	 * @author Administrator
	 * @param projectPmoCode
	 * @param month
	 * @since JDK 1.6
	 */
	public void sendLevelProjectData(String projectPmoCode,String month,boolean isAll);
	
	/**
	 * 
	 * getProjectPmoCode:(获得projectPmoCode). <br/>
	 * @author Administrator
	 * @param projectId
	 * @return
	 * @since JDK 1.6
	 */
	public String getProjectPmoCode(Long projectId);
	
	/**
	 * 
	 * findDynamiSalesData:(整年动态数据). <br/>
	 * @author Administrator
	 * @param projectId
	 * @param year
	 * @return
	 * @since JDK 1.6
	 */
	public HashMap<String,List<GraphicalVo<Double>>> findDynamiSalesData(Long projectId, String year);
	
	/**
	 * 
	 * findSaleData:(组装销售，回款). <br/>
	 * @author Administrator
	 * @param salePmo
	 * @return
	 * @since JDK 1.6
	 */
	public List<GraphicalVo<Double>> findSaleData(List<SaleReturnPmo> salePmo,boolean isSale,String[] title);
	
	/**
	 * 补录历史年份数据
	 * @param projectPmoCode
	 * @param month
	 * @param salesBackOfYear
	 */
	public void sendLevelDyData(String projectPmoCode,String month,List<SalesBackOfYear> salesBackOfYear) throws Exception;

	/**
	 * 检验商户是否需要发送PMO数据
	 * information: 5
	 * 为1时,发送
	 * @param id
	 * @return
	 */
	public boolean sendValid(Long id);
	
}
